home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / v9n17.arc / SHFTLOCK.SCR < prev    next >
Text File  |  1990-09-12  |  2KB  |  50 lines

  1. NSHFTLOCK.COM
  2. A100
  3. JMP  13C                 ; JUMP TO INSTALLATION
  4. NOP
  5. NOP                      ;  STORAGE SPACE FOR
  6. NOP                      ;  OLD KEYBOARD VECTOR
  7. NOP
  8. STI                      ; INTERRUPTS ON
  9. PUSH AX
  10. MOV  AH,2                ; GET SHIFT STATUS
  11. INT  16                  ; FROM BIOS
  12. TEST AL,3                ; IS EITHER SHIFT PRESSED?
  13. JZ   114                 ; NO, EXIT TO BIOS
  14. TEST AL,40               ; IS CAPSLOCK ALREADY ON?
  15. JNZ  11A                 ; YES, DO OUR ROUTINE
  16. POP  AX                  ; CLEAN UP STACK AND
  17. CS:                      ; EXIT TO BIOS ROUTINE
  18. JMP  FAR [102]
  19. PUSH DS                  ; SAVE CALLER'S DATA SEG
  20. MOV  AX,40               ; ADDRESS BIOS DATA AREA
  21. MOV  DS,AX
  22. AND  BYTE PTR [17],BF    ; MASK OFF CAPSLOCK BIT
  23. POP  DS
  24. POP  AX
  25. PUSHF                    ; LET BIOS PROCESS
  26. CS:                      ;  THIS KEYSTROKE
  27. CALL FAR [102]
  28. PUSH AX                  ; WHEN IT'S DONE...
  29. PUSH DS
  30. MOV  AX,40               ; GO TO BIOS DATA AREA
  31. MOV  DS,AX
  32. OR   BYTE PTR [17],40    ; MASK CAPSLOCK ON AGAIN
  33. POP  DS                  ; CLEAN UP STACK
  34. POP  AX
  35. IRET                     ; AND EXIT (END OF RAM-RESIDENT CODE)
  36. MOV  AX,3509             ; INSTALLATION: GET OLD
  37. INT  21                  ;  KEYB VECTOR THROUGH DOS
  38. MOV  [102],BX            ; SAVE OFFSET LOCALLY
  39. MOV  [104],ES            ; AND SEGMENT TOO
  40. MOV  AX,2509             ; REROUTE KEYB VECTOR CHAIN
  41. MOV  DX,106              ; TO POINT TO OUR CODE
  42. INT  21                  ; USING DOS
  43. MOV  DX,13C              ; POINT TO END OF HANDLER
  44. INT  27                  ; TERMINATE, STAY RESIDENT
  45.  
  46. RCX
  47. 56
  48. W
  49. Q
  50.